Most mobile phones are equipped with a simple 12-button keypad, similar to the keypad 100 shown in FIG. 1. Such a keypad is an inherently poor tool for generating phrases for a 26-letter alphabet. Using traditional text-entry techniques, such as MultiTap, an average text message of 7 words requires roughly 70 key presses. The GSM Association (www.gsmworld.com) estimates that in 2003, nearly 500 billion text messages will be sent worldwide from mobile phones. Using current text-entry techniques, this would require approximately 35 trillion key presses. While research has gone into devising a variety of more efficient text input techniques, none has yet emerged as a new standard.
Entering text from the 26 character English alphabet (or practically any other Roman alphabet) using the standard 12-key (0-9, *, #) mobile phone keypad forces a mapping of more than one character per key. The typical mapping has keys 2-9 representing either three or four alphabetic characters in addition to the numerals. All text input techniques that use this standard keypad have to somehow resolve the ambiguity that arises from this multiplexed mapping. The problem may be characterized as involving two main tasks necessary for entering a character: between-group selection of the appropriate group of characters, and within-group selection of the appropriate character within the previously chosen group. Most text input techniques to date can generally be divided into two categories: those that require multiple presses of a single key to make between-group followed by within-group selections, and those that require a single press of multiple keys to make these selections. Because both categories require consecutive key presses, the research focus has been on reducing the average number of key strokes per character (“KSPC”) required to enter text. Advances in the area generally make language specific assumptions to “guess” the desired within-group character, thus reducing or eliminating the key presses required for the within-group selection. The success of these techniques, however, is based almost entirely on how closely the text entered conforms to the underlying language model. Given that text entered on mobile phones often involves significant abbreviations and even evolving new “languages” by frequent users of SMS messaging, making language assumptions may not be the best approach to solving the text input problem.
A small number of mobile phones today utilize QWERTY style keypads that enable text entry with techniques similar to typing on a regular keyboard, albeit at a much smaller physical scale (e.g., the Nokia 5510, www.nokia.com). More recently, hybrid devices that combine phones with Personal Digital Assistants (“PDAs”), such as the Handspring Treo (www.handspring.com) and PocketPC Phone (www.microsoft.com), utilize pen-based text input techniques common to PDA's such as Palm's Graffiti (www.palm.com). While these devices are making small inroads into the mobile phone market, the vast majority of mobile phones are equipped with the standard keypad, which has 12 keys: 0-9, *, and #.
Entering text from a 26 character alphabet using this keypad forces a mapping of more than one character per button of the keypad. A typical mapping has keys 2-9 representing either three or four characters, with space and punctuation mapped to the other buttons. All text input techniques that use this standard keypad have to somehow resolve the ambiguity that arises from this multiplexed mapping. There are three main techniques for overcoming this ambiguity: MultiTap, two-key, and linguistic disambiguation.
1. MultiTap
MultiTap works by requiring the user to make multiple presses of each key to indicate which letter on that key is desired. For example, the letters pqrs traditionally appear on the “7” key. Pressing that key once yields “p”, twice “q”, etc. A problem arises when the user attempts to enter two consecutive letters on the same button. For example, tapping the “2” key three times could result in either “c” or “ab”. To overcome this, MultiTap employs a time-out on the button presses, typically 1-2 seconds, so that not pressing a button for the length of the timeout indicates that you are done entering that letter. Entering “ab” under this scheme has the user press the “2” key once for “a”, wait for the timeout, then press “2” twice more to enter “b”. To overcome the time overhead this incurs, many implementations add a “timeout kill” button that allows the user to skip the timeout. If we assume that “0” is the timeout kill button, this makes the sequence of button presses to enter “ab”: “2-0-2-2”. MultiTap eliminates any ambiguity, but can be quite slow, with a keystrokes per character (KSPC) rate of approximately 2.03. (See MacKenzie, I.S. (2002). KSPC (keystrokes per character) as a characteristic of text entry techniques. Fourth International Symposium on Human-Computer Interaction with Mobile Devices. p. 195-210.)
2. Two-Key Disambiguation
The two-key technique requires the user to press two keys in quick succession to enter a character. The first keypress selects the appropriate group of characters, while the second identifies the position of the desired character within that group. For example, to enter the character “e”, the user presses the “3” key to select the group “def”, followed by the “2” key since “e” is in the second position within the group. This technique, while quite simple, has failed to gain popularity for Roman alphabets. It has an obvious KSPC rate of 2.
3. Linguistic Disambiguation
There are a number of linguistic disambiguation schemes that utilize knowledge of the language to aid the text entry process. One example is T9 (see www.tegic.com), which renders all possible permutations of a sequence of button presses and looks them up in a dictionary. For example, the key sequence “5-3-8” could indicate any of 27 possible renderings (3×3×3 letters on each of those keys). Most of these renderings have no meaning, and so are rejected. Looking each of them up in a dictionary tells the system that only “jet” is an English word, and so it is the one rendered. Ambiguity can, however, arise if there is more than one valid rendering in the language, in which case the most common is presented. For example, the sequence “6-6” could indicate either “on” or “no”. If the system renders the wrong word, a “next” key allows the user to cycle through the other valid permutations. An analysis of this technique for entering text from an English corpus found a KSPC close to 1 (see MacKenzie, I.S. (2002) “KSPC (keystrokes per character) as a characteristic of text entry techniques,” Fourth International Symposium on Human-Computer Interaction with Mobile Devices, pp. 195-210). Newer linguistic disambiguation techniques such as LetterWise and WordWise (see www.eatoni.com) also perform similarly well, with subtle advantages over earlier techniques. While these all have excellent KSPC rates, the success of linguistic-based systems depends on the assumption that users tend to enter “English-like” words when sending text messages. However, users often use abbreviations and incomplete English when text messaging. Further, users of text messaging often communicate in acronyms or combinations of letters and numbers (e.g., “b4” for “before”). Another problem with these linguistic techniques is that users have to visually monitor the screen in order to resolve potential ambiguities, whereas the MultiTap and two-key techniques can be operated “eyes-free” by skilled users.
Using Tilt Sensors in Portable Devices
Attempts have been made to incorporate tilt sensors in portable devices. Unigesture uses tilt as an alternative to button pressing, eliminating the need for buttons for text entry. (See Sazawal, V., Want, R., & Borriello, G. (2002), “The Unigesture Approach. One-Handed Text Entry for Small Devices,” Mobile HCI, p. 256-270.) Rather than having the user make one of 8 ambiguous button presses (as is the present case with mobile phones), Unigesture has the user tilt the device in one of 7 directions to specify the group, or “zone”, of the character that is desired. The ambiguity of the tilt is then resolved by using dictionary-based disambiguation.
TiltType combines button pressing and tilt for entering unambiguous text into a small, watch-like device with 4 buttons. (See Partridge, K, Chatterjee, S., Sazawal, V., Borriello, G., & Want, R. (2002), “TiltType: accelerometer-supported text entry for very small devices,” ACM UIST Symposium on User Interface Software and Technology, pp. 201-204.) Pressing a button triggers an on-screen display of the characters that can be entered by tilting the device in one of eight directions. The user then makes the appropriate tilt and releases the button.
Chording Keyboards
Chording keyboards typically have a series of chording keys that can be used in conjunction with a keypad to enter text. Two-handed chorded keyboards have been used by the U.S. postal service for mail sorting, and are still used today by stenographers. The Twiddler (see www.handykey.com) and the Septambic Keyer (see wearcam.org/septambic/) are examples of modem-day one-handed chording keyboards. Designed to be held in the hand while text is being entered, both are commonly used as part of a wearable computer. The Twiddler is equipped with 6 keys to be used with the thumb, and 12 for the fingers, while the traditional Septambic Keyer has just 3 thumb and 4 finger switches. The Septambic Keyer allows for 47 different combinations of key presses, while the Twiddler allows over 80,000, though not all keys are used for text entry.
None of the approaches described above have been commercially successful. What is needed is an efficient system and method for entering data into a numeric keypad of a portable device.